/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

/**
 *
 * @author benoit
 */
public class Etage implements Comparable<Etage> {
    public List<Ascenseur> ascenseurs;
    public int numero;

    public Etage(int numero) {
        this.numero = numero;
        ascenseurs = new ArrayList<>();
    }
    
    public boolean ajouterAscenseur(Ascenseur ascenseur) {
        if(ascenseurs.contains(ascenseur)) {
            return false;
        }
        return ascenseurs.add(ascenseur);
    }
    
    public boolean supprimerAscenseur(Ascenseur ascenseur) {
        if(!ascenseurs.contains(ascenseur)) {
            return false;
        }
        return ascenseurs.remove(ascenseur);
    }

    public List<Ascenseur> getAscenseurs() {
        return ascenseurs;
    }
    
    public int getNumero() {
        return numero;
    }

    @Override
    public boolean equals(Object o) {
        if(o==null) {
            return false;
        }
        if(this.getClass()!=o.getClass()) {
            return false;
        }
        Etage e = (Etage) o;
        return this.numero==e.numero;
    }

    @Override
    public int compareTo(Etage t) {
        if(t==null) {
            throw new NullPointerException();
        }
        if(t.numero==this.numero) {
            return 0;
        }
        if(this.numero<t.numero) {
            return -1;
        }
        
        return 1;
    }

    @Override
    public String toString() {
        return String.valueOf(numero);
    }
}
